package com.example.service;

/**
 * 在线用户追踪服务接口。
 * 定义登录、退出与心跳刷新等操作。
 */
public interface OnlineUserTrackerService {

    /**
     * 在用户登录成功后调用，记录该用户在线，并返回最新在线人数
     */
    long onLogin(Long userId, String username);

    /**
     * 在用户退出登录时调用，移除在线标记，并返回最新在线人数
     */
    long onLogout(Long userId, String username);

    /**
     * 在每次通过认证的请求中调用，用于刷新在线心跳TTL
     */
    void refreshOnline(Long userId, String username);

    /**
     * 获取当前在线人数
     */
    long getOnlineCount();
}


